package cn.share.life.module.images.utils;

import org.apache.pdfbox.pdmodel.PDDocument;

import java.io.File;
import java.io.IOException;

public class PDFUtils {

    public static void main(String[] args) {
        // 设置输入PDF文件路径和输出目录
        String inputPdfPath = "C:/Users/ceshi/Downloads/tar/1.pdf"; // 替换为你的PDF文件路径
        String outputDir = "C:/Users/ceshi/Downloads/tar/"; // 替换为输出目录路径

        // 确保输出目录存在
        File outputDirectory = new File(outputDir);
        if (!outputDirectory.exists()) {
            outputDirectory.mkdirs();
        }

        try (PDDocument document = PDDocument.load(new File(inputPdfPath))) {
            // 获取PDF的总页数
            int numberOfPages = document.getNumberOfPages();
            System.out.println("PDF文件总页数：" + numberOfPages);

            // 遍历每一页，拆分成单独的PDF文件
//            for (int i = 0; i < numberOfPages; i++) {
//                // 创建一个新的PDF文档
//                PDDocument singlePageDocument = new PDDocument();
//                // 将当前页添加到新文档中
//                singlePageDocument.addPage(document.getPage(i));
//                // 构建输出文件路径
//                String outputFilePath = outputDir + File.separator + "page_" + (i + 1) + ".pdf";
//                // 保存新文档
//                singlePageDocument.save(outputFilePath);
//                singlePageDocument.close();
//                System.out.println("已保存第 " + (i + 1) + " 页到文件：" + outputFilePath);
//            }

            // 创建一个新的PDF文档
            PDDocument singlePageDocument = new PDDocument();
            // 将当前页添加到新文档中
            singlePageDocument.addPage(document.getPage(10));
            // 构建输出文件路径
            String outputFilePath = outputDir + File.separator + "page_" + 0 + ".pdf";
            // 保存新文档
            singlePageDocument.save(outputFilePath);
            singlePageDocument.close();
            System.out.println("已保存第 " + 0 + " 页到文件：" + outputFilePath);

            System.out.println("-----------------分割线-----------------");

            PDDocument singlePageDocument1 = new PDDocument();
            // 将当前页添加到新文档中
            singlePageDocument1.addPage(document.getPage(11));
            // 构建输出文件路径
            String outputFilePath1 = outputDir + File.separator + "page_" + 1 + ".pdf";
            // 保存新文档
            singlePageDocument1.save(outputFilePath1);
            singlePageDocument1.close();
            System.out.println("已保存第 " + 1 + " 页到文件：" + outputFilePath1);

            System.out.println("-----------------分割线-----------------");

            PDDocument singlePageDocument2 = new PDDocument();
            // 将当前页添加到新文档中
            singlePageDocument2.addPage(document.getPage(12));
            singlePageDocument2.addPage(document.getPage(13));
            // 构建输出文件路径
            String outputFilePath2 = outputDir + File.separator + "page_" + 2 + ".pdf";
            // 保存新文档
            singlePageDocument2.save(outputFilePath2);
            singlePageDocument2.close();
            System.out.println("已保存第 " + 2 + " 页到文件：" + outputFilePath2);

        } catch (IOException e) {
            System.err.println("处理PDF文件时出错：" + e.getMessage());
        }

    }
}
